﻿//日期差值
//#include <iostream>
//using namespace std;
//
//class Date
//{
//public:
//    Date(int year, int month, int day)
//    {
//        _year = year;
//        _month = month;
//        _day = day;
//    }
//    bool operator>(const Date& d)
//    {
//        if (_year > d._year)
//        {
//            return true;
//        }
//        else if (_year == d._year)
//        {
//            if (_month > d._month)
//            {
//                return true;
//            }
//            else if (_month == d._month)
//            {
//                return _day > d._day;
//            }
//            return false;
//        }
//        else
//        {
//            return false;
//        }
//    }
//    //!=
//    bool operator==(const Date& d)
//    {
//        return (_year == d._year) && (_month == d._month) && (_day == d._day);
//    }
//    bool operator>=(const Date& d)
//    {
//        return *this > d || *this == d;
//    }
//    //判断每个月有多少天
//    int MonthDay(int year, int month)
//    {
//        int Mday[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
//        if (month == 2 && ((year % 100 != 0 && year % 4 == 0) || (year % 400 == 0)))
//        {
//            return 29;
//        }
//        else
//        {
//            return Mday[month];
//        }
//    }
//    //+=
//    Date& operator+=(int day)
//    {
//        _day += day;
//        while (_day > MonthDay(_year, _month))
//        {
//            _day -= MonthDay(_year, _month);
//            ++_month;
//            if (_month == 13)
//            {
//                _month = 1;
//                ++_year;
//            }
//        }
//        return *this;
//    }
//    //++d1
//    Date& operator++()
//    {
//        *this += 1;
//        return *this;
//    }
//private:
//    int _year;
//    int _month;
//    int _day;
//};
//
//int main() {
//    int a, b;
//    while (cin >> a >> b) { // 注意 while 处理多个 case
//
//        int day1 = a % 100, day2 = b % 100;
//        int month1 = (a / 100) % 100, month2 = (b / 100) % 100;
//        int year1 = a / 10000, year2 = b / 10000;
//        int count = 0;
//        Date d1(year1, month1, day1);
//        Date d2(year2, month2, day2);
//        Date max = d1 > d2 ? d1 : d2;
//        Date min = d1 > d2 ? d2 : d1;
//        while (max >= min)
//        {
//            ++count;
//            ++min;
//        }
//        cout << count << endl;
//    }
//}

//int main()
//{
//	printf("%c", 1);
//	printf("%c", 2);
//
//
//	return 0;
//}

//日期到天数的转换
//#include <iostream>
//using namespace std;
//
//int main() {
//    int year, month, day;
//    while (cin >> year >> month >> day) { // 注意 while 处理多个 case
//        int monthday_N[] = { 0,31,59,90,120,151,181,212,243,273,304,334,365 };
//        int n = monthday_N[month - 1] + day;
//        if (month > 2 && ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0)))
//        {
//            n++;
//        }
//        cout << n << endl;
//    }
//}

//求1 + 2 + 3 + ... + n，要求不能使用
//乘除法、for、while、if、else、switch、case
//等关键字及条件判断语句（A ? B : C)
//class sum
//{
//public:
//    sum()
//    {
//        _ret += _i;
//        ++_i;
//    }
//    static int GetRet()
//    {
//        return _ret;
//    }
//private:
//    static int _i;
//    static int _ret;
//};
//int sum::_i = 1;
//int sum::_ret = 0;
//class Solution {
//public:
//    int Sum_Solution(int n) {
//        sum arr[n];
//        return sum::GetRet();
//    }
//};

////打印日期
//#include <iostream>
//using namespace std;
//
//class Date
//{
//public:
//    Date(int year = 1, int month = 1, int day = 0)
//    {
//        _year = year;
//        _month = month;
//        _day = day;
//    }
//    //每个月有多少天
//    int MonthDay(int year = 1, int month = 1)
//    {
//        int monthday[13] = { -1,31,28,31,30,31,30,31,31,30,31,30,31 };
//        if (month == 2 && ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0)))
//        {
//            return 29;
//        }
//        else {
//            return monthday[month];
//        }
//    }
//    Date operator+=(int day)
//    {
//        _day += day;
//        while (_day > MonthDay(_year, _month))
//        {
//            _day -= MonthDay(_year, _month);
//            ++_month;
//            if (_month == 13)
//            {
//                ++_year;
//                _month = 1;
//            }
//        }
//        return *this;
//    }
//    void print()
//    {
//        printf("%04d-%02d-%02d", _year, _month, _day);
//    }
//private:
//    int _year;
//    int _month;
//    int _day;
//};
//
//int main() {
//    int year, Nday;
//    while (cin >> year >> Nday) { // 注意 while 处理多个 case
//        Date d(year);
//        d += Nday;
//        d.print();
//    }
//}
//// 64 位输出请用 printf("%lld") 位输出请用 printf("%lld")

////积累天数
//#include <iostream>
//using namespace std;
//
//class Date
//{
//public:
//    Date(int year, int month, int day)
//    {
//        _year = year;
//        _month = month;
//        _day = day;
//    }
//    //判断每个月有多少天
//    int MonthDay(int year, int month)
//    {
//        int Mday[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
//        if (month == 2 && ((year % 100 != 0 && year % 4 == 0) || (year % 400 == 0)))
//        {
//            return 29;
//        }
//        else
//        {
//            return Mday[month];
//        }
//    }
//    //+=
//    Date& operator+=(int day)
//    {
//        _day += day;
//        while (_day > MonthDay(_year, _month))
//        {
//            _day -= MonthDay(_year, _month);
//            ++_month;
//            if (_month == 13)
//            {
//                _month = 1;
//                ++_year;
//            }
//        }
//        return *this;
//    }
//    void print()
//    {
//        printf("%04d-%02d-%02d\n", _year, _month, _day);
//    }
//
//private:
//    int _year;
//    int _month;
//    int _day;
//};
//int main()
//{
//    int n = 0;
//    cin >> n;
//    while (n--)
//    {
//        int year = 0, month = 0, day = 0, m = 0;
//        cin >> year >> month >> day >> m;
//
//
//        Date d(year, month, day);
//        d += m;
//        d.print();
//    }
//
//}


#include <iostream>
using namespace std;

//﻿int main(int argc, char* argv[])
//
//{
//
//	string a = "hello world";
//
//	string b = a;
//
//	if (a.c_str() == b.c_str())
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	string c = b;
//
//	c = "";
//
//	if (a.c_str() == b.c_str())
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	a = "";
//
//	if (a.c_str() == b.c_str())
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	return 0;
//
//}

//
//﻿int main()
//{
//
//	string str("Hello Bit.");
//
//	str.reserve(111);
//
//	str.resize(5);
//
//	str.reserve(50);
//
//	cout << str.size() << ":" << str.capacity() << endl;
//
//	return 0;
//
//}

﻿int main(int argc, char* argv[])
{
	string strText = "How are you?";
	string strSeparator = " ";
	string strResult;
	int size_pos = 0;
	int size_prev_pos = 0;
	while ((size_pos = strText.find_first_of(strSeparator, size_pos)) != string::npos)
	{
		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
		cout << strResult << " ";

	size_prev_pos = ++size_pos;
	}
	if (size_prev_pos != strText.size())

	{
		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);

		cout << strResult << " ";
	}
	cout << endl;
	return 0;
}